昨日我們已使用Matplotlib做出簡單的散布圖,今日筆者要學習的是使用Matplotlib做出簡易的直條圖。一般而言,直條圖分為直式與橫式兩種,是資料視覺化中不可或缺的圖像。處理直條圖時需十分小心,直條圖是對於許多人來說很好上手、且容易觀看的圖形,因此若將直條圖偏離數據、又用的時過份花俏,將容易造成視覺上的誤導。
在製作直條圖之前,一樣先在Juypter 中開新的Notebook。之後,確定直條圖中應呈現的x軸與y軸內容。比如說,筆者想要了解某個議題在各大媒體報紙的刊登數,藉以知道此話題對於各大新聞媒體中的重要程度。則我們可將x 軸設定為新聞媒體的名稱,y軸設定為文章刊登數。接下來同樣在Juypter 中輸入以下述句:
import matplotlib.pyplot as plt; plt.rcdefaults()
import numpy as np
import matplotlib.pyplot as plt
x軸的部分,可以用labels或是objects等變數名稱表示。之後輸入以下內容:
labels = ['The New York Times ', 'USA Today', 'Financial Times']
y_pos = np.arange(len(labels))
no_data= [18,10, 3]
bar_width = 0.5
plt.bar(y_pos, no_data, align='center', alpha=1)
plt.xticks(y_pos, labels)
plt.show()
之後,便可產出簡易的直條圖內容: (見圖一)
圖一: 以Matplotlib繪出的直條圖內容。
如此,便完成了簡易的直條圖了。
【備註一】本篇文章所參考與使用的學習資源如下:
【備註二】有關本次學習筆記所使用到的The New York Times 、USA Today與Financial Times的數據資料,擷取與引用自2013年一篇標題為 “ Angelina Jolie’s faulty gene: Newspaper coverage of a celebrity’s preventive bilateral mastectomy in Canada, the United States, and the United Kingdom”的學術文章資料,該篇文章討論美國、英國與加拿大媒體業刊載安潔莉娜‧裘莉(Angelina Jolie, 1975- )預防性切除乳房手術的報導和對於公眾的影響。相關文章可參考: https://www.researchgate.net/publication/259396052_Angelina_Jolie's_faulty_gene_Newspaper_coverage_of_a_celebrity's_preventive_bilateral_mastectomy_in_Canada_the_United_States_and_the_United_Kingdom